/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.aspas.persistencia;

import br.com.aspas.modelo.Contrato;
import br.com.aspas.util.AbstractDAO;
import java.util.List;

/**
 *
 * @author gimmli
 */
public class ContratoDao extends AbstractDAO {

    public ContratoDao() {
    }

    public void inserir(Contrato contrato) {
        insert(contrato);
    }

    public Contrato findByPk(Integer pKey) {
        return (Contrato) findByPk(Contrato.class, pKey);
    }

    public Boolean remove(Integer id) {
        delete(id, Contrato.class);
        return new Boolean(true);
    }

    public void altera(Contrato contrato) {
        update(contrato);
    }

    public List<Contrato> findAllContratanteRazao(String nomeContratante) {
        em = emf.createEntityManager();
        List<Contrato> listContrato = em.createQuery("SELECT object(c) FROM Contrato as c " +
                " where c.pessoaJuridicaContratante.razaoSocial like'%" + nomeContratante + "%'").getResultList();
        em.close();
        return listContrato;

    }

    public List<Contrato> findAllContratadoRazao(String nomeContratado) {
        em = emf.createEntityManager();
        List<Contrato> listContrato = em.createQuery("SELECT object(c) FROM Contrato as c " +
                " where c.pessoaJuridicaContratado.razaoSocial like'%" + nomeContratado + "%'").getResultList();
        em.close();
        return listContrato;

    }

    public List<Contrato> findAllContratanteFantasia(String nomeContratante) {
        em = emf.createEntityManager();
        List<Contrato> listContrato = em.createQuery("SELECT object(c) FROM Contrato as c " +
                " where c.pessoaJuridicaContratante.nomeFantasia like'%" + nomeContratante + "%'").getResultList();
        em.close();
        return listContrato;
    }

    public List<Contrato> findAllContratadoFantasia(String nomeContratado) {
        em = emf.createEntityManager();
        List<Contrato> listContrato = em.createQuery("SELECT object(c) FROM Contrato as c " +
                " where c.pessoaJuridicaContratado.nomeFantasia like'%" + nomeContratado + "%'").getResultList();
        em.close();
        return listContrato;
    }
}
